﻿using System;
using System.Collections.Generic;
using System.Web;

/// <summary>
/// Clase con utilidades para la generacion de los archivos planos
/// </summary>
public static class ArchivoHelper
{


    /// <summary>
    /// Retorna la cadena que le llega agregandole un caracter hasta alcanzar la logitud especificada
    /// </summary>
    /// <param name="cadena"></param>
    /// <param name="caracter"></param>
    /// <param name="longitudFinal"></param>
    /// <returns></returns>
    public static string CompletarCadenaAlFinal(string cadena, string caracter, int longitudFinal)
    {
        if (cadena.Length < longitudFinal)
        {
            while (cadena.Length < longitudFinal)
            {
                cadena += caracter;
            }
        }
        return cadena;
    }

    /// <summary>
    /// Retorna la cadena que le llega insertandole al principio un caracter hasta alcanzar la logitud especificada
    /// </summary>
    /// <param name="cadena"></param>
    /// <param name="caracter"></param>
    /// <param name="longitudFinal"></param>
    /// <returns></returns>
    public static string CompletarCadenaAlInicio(string cadena, string caracter, int longitudFinal)
    {
        if (cadena.Length < longitudFinal)
        {
            while (cadena.Length < longitudFinal)
            {
                cadena = caracter + cadena;
            }
        }
        return cadena;
    }
    

    /// <summary>
    /// Retorna el string que se utiliza en la primera fila de todos los archivos planos
    /// </summary>
    /// <returns></returns>
    public static string cadenaInicio()
    {
        return "0000001" + "00000001" + "001";
    }

    /// <summary>
    /// Retorna el string que se utiliza en la ultima fila de todos los archivos planos
    /// </summary>
    /// <param name="cantidadRegistros"></param>
    /// <returns></returns>
    public static string cadenaFinal(int cantidadRegistros)
    {
        //Completa 7 caracteres en la cantidad
        string cantidad = CompletarCadenaAlInicio(cantidadRegistros.ToString(), "0", 7);
        return cantidad + "99990001" + "001";
    }

}